package com.demo.mapper;

import com.demo.entity.Video;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface VideoMapper {
    //Dao层，操作数据库 ，CRUD（增删改查）
    //实现CRUD要有五个方法

    //1.查询所有，返回一堆视频数据，所以用集合List<Video>
    @Select("select video_id videoId,video_title videoTitle from video")
    List<Video> selectAllVideos();

    //2.通过编号来查询一个，传递一个暗号，得到一个视频Video
    @Select("select video_id videoId,video_title videoTitle from video where video_id=#{id}")
    Video selectVideoById(int id);

    //3.通过一个编号删除一个，传递一个编号，得到一个受影响的行数Int
    @Delete("delete from video where video_id=#{id}")
    int deleteVideoBYId(int id);

    //4.添加一个，传递一个video对象，得到一个受影响的行数 Int
    @Insert("insert into video (video_title) value (#{videoTitle})")
    int insertVideo(Video video);

    //5.修改一个，传递一个Video对象，得到一个受影响的行数 Int
    @Update("update video set video_title = #{videoTitle} where video_id = #{videoId}")
    int updateVideo(Video video);
}
